Don't emit a synthetic motion event on a surface
that is grab-shadowed by a popup. This has been
known to confuse GTK, at times.
Fixes: #3439
GdkEvent *event;
double x, y;
GdkModifierType state;
+ GdkSurface *grab_surface;
if (!surface->request_motion)
return;
if (!gdk_surface_get_device_position (surface, device, &x, &y, &state))
return;
+ if (gdk_device_grab_info (display, device, &grab_surface, NULL))
+ {
+ if (grab_surface != surface)
+ return;
+ }
+
event = gdk_motion_event_new (surface,
device,
NULL,